/**
 * @author phi
 */

// 存在チェック
if (String.prototype.format == undefined) {
    /**
     * フォーマット関数
     */
    String.prototype.format = function(arg)
    {
        // 置換ファンク
        var rep_fn = undefined;
        
        // オブジェクトの場合
        if (typeof arg == "object") {
            rep_fn = function(m, k) { return arg[k]; }
        }
        // 複数引数だった場合
        else {
            var args = arguments;
            rep_fn = function(m, k) { return args[ parseInt(k) ]; }
        }
        
        return this.replace( /\{(\w+)\}/g, rep_fn );
    }
}


/**
 * フォーマット関数
 */
var $format = function(fmt, a)
{
    var rep_fn = undefined;
    
    if (typeof a == "object") {
        rep_fn = function(m, k) { return a[ k ]; }
    }
    else {
        var args = arguments;
        rep_fn = function(m, k) { return args[ parseInt(k)+1 ]; }
    }
    
    return fmt.replace( /\{(\w+)\}/g, rep_fn);
}